package tsb.dominio.dispositivos.hosfinal;

import java.util.Iterator;
import java.util.ArrayList;
import tsb.dominio.enumeraciones.AsignacionIP;
import tsb.dominio.interfaces.Ethernet;
import tsb.dominio.interfaces.IP;
import tsb.dominio.interfaces.InterfaceDeConeccion;


/**
 * @author Federico Gomez
 * @version 1.0
 * @created 12-Mar-2011 04:41:32 p.m.
 */
public class PC extends HostFinal {

	/**
	 * Especifica si las configuraciones se realizan por DHCP o Static
	 */
	private AsignacionIP DHCP_Static;
	private IP servidorDNS;

        public PC(int x, int y,String nombreAMostrar, ArrayList<tsb.dominio.interfaces.InterfaceDeConeccion> interfaces)
        {
            this.x=x;
            this.y=y;
            this.nombreAMostrar=nombreAMostrar;
            this.interfaces=interfaces;
        }


        public PC(boolean estado,IP gateway,ArrayList<tsb.dominio.interfaces.InterfaceDeConeccion> interfaces,String nombreAMostrar, AsignacionIP DHCP_Static, IP servidorDNS, int x, int y)
        {
            this.estado = estado;
            this.gateway = gateway;
            this.interfaces = interfaces;
            this.nombreAMostrar = nombreAMostrar;
            this.DHCP_Static = DHCP_Static;
            this.servidorDNS = servidorDNS;
        }

        public AsignacionIP getDHCP_Static() {
        return DHCP_Static;
        }

        public void setDHCP_Static(AsignacionIP DHCP_Static) {
            this.DHCP_Static = DHCP_Static;
        }


        public IP getServidorDNS() {
            return servidorDNS;
        }

        public void setServidorDNS(IP servidorDNS) {
            this.servidorDNS = servidorDNS;
        }
        public void eliminarInterfaz(){
            this.interfaces.remove(1);
        }
        public void actualizarInterfaz1(InterfaceDeConeccion e){
            this.interfaces.set(0, e);
        }
        
        
        
        
        
        public String toString()
        {
            String cad= " --- PC ---\n"+
                    "Nombre a Mostrar: " + this.nombreAMostrar + "\n"+
                    "Estado: " + this.estado + "\n"+
                    "Getway: " + this.gateway + "\n"+
                    "Asignacion IP: " + this.DHCP_Static + "\n"+
                    "DNS: " + this.servidorDNS + "\n"+
                    "Ubicacion: x=" + this.x + " y="+this.y+"\n";
            
            if(interfaces!=null)
            {
                Iterator iter= this.interfaces.iterator();
                    while(iter.hasNext())
                    {
                        InterfaceDeConeccion i = (InterfaceDeConeccion) iter.next();
                        cad=cad+i.toString();
                    }
            }
            
            
                    return cad;
        }


}